package com.ctshk.rpc.season.req;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;

/**
 * 固定套票产品设置
 *
 * @ClassName SeasonFixedSetReq
 * @Description: TODO
 * @Author 杨林
 * @Date 2021/3/9
 **/
@Data
@ApiModel(value = "SeasonFixedSetReq", description = "固定套票产品设置信息req")
public class SeasonFixedSetReq implements Serializable {

    @ApiModelProperty(value = "产品id", required = true)
    @NotNull(message = "产品id不能为空")
    private Long productId;

    @ApiModelProperty(value = "套票类型id", required = true)
//    @NotNull(message = "套票类型id 不能为空")
    private Long seasonTypeId;

    @ApiModelProperty(value = "套票类型名称", required = true)
//    @NotNull(message = "套票类型名称不能为空")
    private String seasonTypeName;

    @ApiModelProperty(value = "套票的选择的产品 1:机票 2:船票  3:酒店 4:巴士 5:火车票 6:景点门票 7:当地玩乐 8商品 多个以逗号分隔,", required = true)
//    @NotNull(message = "套票选择产品不能为空")
    private String packageProductFlag;

    @ApiModelProperty(value = "出发日期集合", required = true)
//    @NotEmpty(message = "出发日期不能为空")
    private List<LocalDate> departDateList;

    @ApiModelProperty(value = "退改条款 1:不退不改  2：按照组合产品退改条款", required = true)
//    @NotNull(message = "套票类型id 不能为空")
    private Integer backTerms;

    @ApiModelProperty(value = "行程简章文件(存储json格式)")
    private String travelBrochureFile;

    @ApiModelProperty(value = "酒店产品集合")
    private List<SeasonFixedProductPackageHotelReq> seasonFixedProductPackageHotelList;

    @ApiModelProperty(value = "机票产品集合")
    private List<SeasonFixedProductPackageAirReq> seasonFixedProductPackageAirList;

    @ApiModelProperty(value = "巴士票产品集合")
    private List<SeasonFixedProductPackageBusReq> seasonFixedProductPackageBusList;

    @ApiModelProperty(value = "船票产品集合")
    private List<SeasonFixedProductPackageShipReq> seasonFixedProductPackageShipList;

    @ApiModelProperty(value = "火车票产品集合")
    private List<SeasonFixedProductPackageTrainReq> seasonFixedProductPackageTrainList;

    @ApiModelProperty(value = "景点门票产品集合")
    private List<SeasonFixedProductPackageScenicReq> seasonFixedProductPackageScenicList;


    @ApiModelProperty(value = "当地玩乐产品集合")
    private List<SeasonFixedProductPackageLocalFunReq> seasonFixedProductPackageLocalFunReqList;

    @ApiModelProperty(value = "当地商品集合")
    private List<SeasonFixedProductPackageCommodityReq> seasonFixedProductPackageCommodityReqList;

    @ApiModelProperty(value = "操作类型  1:有效（提交审批）0:无效")
    private String operationType;

}
